Conventional color conversion of large images from a source color space to a destination color space is typically performed by caching a large amount of conversions in a lookup table. For a given color value it is then easy and fast to look up surrounding values and interpolate a conversion for unknown values. Because the number of dimensions of the lookup table is equivalent to the number of inks in the source color space, this approach works well for a small number of inks (e.g. 4 inks (CMYK)) because there are only a small number of combinations of possible overprints. However, this technique rapidly becomes untenable for systems that use a higher number of inks (e.g. expanded gamut printing or spot color proofing). Developing a lookup table for all possible overprints of say 12 inks, would require a lookup table of massive proportions that would not fit into memory of a PC or printer.